╬πδαΓδσφΦσ

╠φεπε∩ε≥ε≈φε±≥ⁿ
╧≡ε÷σ±±√, ∩ε≥εΩΦ Φ ∩≡Φε≡Φ≥σ≥√
╠φεπε∩ε≥ε≈φε±≥ⁿ Γ Java
╠φεπε∩ε≥ε≈φε±≥ⁿ Φ αφΦ∞α÷Φ 
╤Φφ⌡≡εφΦτα÷Φ  ∩ε≥εΩεΓ
╧ε≥εΩΦ-Σσ∞εφ√
└∩δσ≥ Rectangles
╚±⌡εΣφ√σ ≥σΩ±≥√
╬∩Φ±αφΦσ ≥σΩ±≥εΓ

    ╤Φφ⌡≡εφΦτα÷Φ  ∩ε≥εΩεΓ

    ╠φεπε∩ε≥ε≈φ√Θ ≡σµΦ∞ ≡αßε≥√ ε≥Ω≡√Γασ≥ φεΓ√σ Γετ∞εµφε±≥Φ Σδ  ∩≡επ≡α∞∞Φ±≥εΓ, εΣφαΩε τα ²≥Φ Γετ∞εµφε±≥Φ ∩≡Φ⌡εΣΦ≥±  ≡α±∩δα≈ΦΓα≥ⁿ±  ≤±δεµφσφΦσ∞ ∩≡ε÷σ±±α ∩≡εσΩ≥Φ≡εΓαφΦ  ∩≡ΦδεµσφΦ  Φ ε≥δαΣΩΦ. ╬±φεΓφα  ≥≡≤Σφε±≥ⁿ, ± Ωε≥ε≡εΘ ±≥αδΩΦΓα■≥±  ∩≡επ≡α∞∞Φ±≥√, φΦΩεπΣα φσ ±ετΣαΓαΓ°Φσ ≡αφσσ ∞φεπε∩ε≥ε≈φ√σ ∩≡ΦδεµσφΦ , ²≥ε ±Φφ⌡≡εφΦτα÷Φ  εΣφεΓ≡σ∞σφφε ≡αßε≥α■∙Φ⌡ ∩ε≥εΩεΓ.

    ─δ  ≈σπε Φ ΩεπΣα εφα φ≤µφα?

    ╬Σφε∩ε≥ε≈φα  ∩≡επ≡α∞∞α, ≥αΩα , φα∩≡Φ∞σ≡, ΩαΩ ∩≡επ≡α∞∞α MS-DOS, ∩≡Φ τα∩≤±Ωσ ∩εδ≤≈ασ≥ Γ ∞εφε∩εδⁿφεσ ≡α±∩ε≡ µσφΦσ Γ±σ ≡σ±≤≡±√ Ωε∞∩ⁿ■≥σ≡α. ╥αΩ ΩαΩ Γ εΣφε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ ±≤∙σ±≥Γ≤σ≥ ≥εδⁿΩε εΣΦφ ∩≡ε÷σ±±, εφ Φ±∩εδⁿτ≤σ≥ ²≥Φ ≡σ±≤≡±√ Γ ≥εΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ, Ωε≥ε≡α  ±εε≥Γσ≥±≥Γ≤σ≥ δεπΦΩσ ≡αßε≥√ ∩≡επ≡α∞∞√. ╧≡ε÷σ±±√ Φ ∩ε≥εΩΦ, ≡αßε≥α■∙Φσ εΣφεΓ≡σ∞σφφε Γ ∞φεπε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ, ∞επ≤≥ ∩√≥α≥ⁿ±  εß≡α∙α≥ⁿ±  εΣφεΓ≡σ∞σφφε Ω εΣφΦ∞ Φ ≥σ∞ µσ ≡σ±≤≡±α∞, ≈≥ε ∞εµσ≥ ∩≡ΦΓσ±≥Φ Ω φσ∩≡αΓΦδⁿφεΘ ≡αßε≥σ ∩≡ΦδεµσφΦΘ.

    ╧ε ±φΦ∞ ²≥ε φα ∩≡ε±≥ε∞ ∩≡Φ∞σ≡σ.

    ╧≤±≥ⁿ ∞√ ±ετΣασ∞ ∩≡επ≡α∞∞≤, Γ√∩εδφ ■∙≤■ ε∩σ≡α÷ΦΦ ± ßαφΩεΓ±ΩΦ∞ ±≈σ≥ε∞. ╬∩σ≡α÷Φ  ±φ ≥Φ  φσΩε≥ε≡εΘ ±≤∞∞√ Σσφσπ ±ε ±≈σ≥α ∞εµσ≥ ∩≡εΦ±⌡εΣΦ≥ⁿ Γ ±δσΣ≤■∙σΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ:

    • φα ∩σ≡Γε∞ °απσ ∩≡εΓσ≡ σ≥±  εß∙α  ±≤∞∞α Σσφσπ, Ωε≥ε≡α  ⌡≡αφΦ≥±  φα ±≈σ≥≤;
    • σ±δΦ εß∙α  ±≤∞∞α ≡αΓφα ΦδΦ ∩≡σΓ√°ασ≥ ≡ατ∞σ≡ ±φΦ∞ασ∞εΘ ±≤∞∞√ Σσφσπ, εß∙α  ±≤∞∞α ≤∞σφⁿ°ασ≥±  φα φσεß⌡εΣΦ∞≤■ ΓσδΦ≈Φφ≤;
    • τφα≈σφΦσ ε±≥α≥Ωα τα∩Φ±√Γασ≥±  φα ≥σΩ≤∙ΦΘ ±≈σ≥.

    ┼±δΦ ε∩σ≡α÷Φ  ≤∞σφⁿ°σφΦ  ≥σΩ≤∙σπε ±≈σ≥α Γ√∩εδφ σ≥±  Γ εΣφε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ, ≥ε φΦΩαΩΦ⌡ ∩≡εßδσ∞ φσ ΓετφΦΩφσ≥. ╬ΣφαΩε ∩≡σΣ±≥αΓΦ∞ ±σßσ, ≈≥ε ΣΓα ∩≡ε÷σ±±α ∩√≥α■≥±  εΣφεΓ≡σ∞σφφε Γ√∩εδφΦ≥ⁿ ≥εδⁿΩε ≈≥ε ε∩Φ±αφφ≤■ ε∩σ≡α÷Φ■ ± εΣφΦ∞ Φ ≥σ∞ µσ ±≈σ≥ε∞. ╧≤±≥ⁿ ∩≡Φ ²≥ε∞ φα ±≈σ≥≤ φα⌡εΣΦ≥±  5 ∞δφ. Σεδδα≡εΓ, α εßα ∩≡ε÷σ±±α ∩√≥α■≥±  ±φ ≥ⁿ ± φσπε ∩ε 3 ∞δφ. Σεδδα≡εΓ.

    ─ε∩≤±≥Φ∞, ±εß√≥Φ  ≡ατΓε≡α≈ΦΓα■≥±  ±δσΣ≤■∙Φ∞ εß≡ατε∞:

    • ∩σ≡Γ√Θ ∩≡ε÷σ±± ∩≡εΓσ≡ σ≥ ±ε±≥ε φΦσ ≥σΩ≤∙σπε ±≈σ≥α Φ ≤ßσµΣασ≥± , ≈≥ε φα φσ∞ ⌡≡αφΦ≥±  5 ∞δφ. Σεδδα≡εΓ;
    • Γ≥ε≡εΘ ∩≡ε÷σ±± ∩≡εΓσ≡ σ≥ ±ε±≥ε φΦσ ≥σΩ≤∙σπε ±≈σ≥α Φ ≥αΩµσ ≤ßσµΣασ≥± , ≈≥ε φα φσ∞ ⌡≡αφΦ≥±  5 ∞δφ. Σεδδα≡εΓ;
    • ∩σ≡Γ√Θ ∩≡ε÷σ±± ≤∞σφⁿ°ασ≥ ±≈σ≥ φα 3 ∞δφ. Σεδδα≡εΓ Φ τα∩Φ±√Γασ≥ ε±≥α≥εΩ (2 ∞δφ. Σεδδα≡εΓ) φα ≥σΩ≤∙ΦΘ ±≈σ≥;
    • Γ≥ε≡εΘ ∩≡ε÷σ±± Γ√∩εδφ σ≥ ≥≤ µσ ±α∞≤■ ε∩σ≡α÷Φ■, ≥αΩ ΩαΩ ∩ε±δσ ∩≡εΓσ≡ΩΦ ±≈Φ≥ασ≥, ≈≥ε φα ±≈σ≥≤ ∩ε-∩≡σµφσ∞≤ ⌡≡αφΦ≥±  5 ∞δφ. Σεδδα≡εΓ.

    ┬ ≡στ≤δⁿ≥α≥σ ∩εδ≤≈Φδε±ⁿ, ≈≥ε ±ε ±≈σ≥α, φα Ωε≥ε≡ε∞ φα⌡εΣΦδε±ⁿ 5 ∞δφ. Σεδδα≡εΓ, ß√δε ±φ ≥ε 6 ∞δφ. Σεδδα≡εΓ, Φ ∩≡Φ ²≥ε∞ ≥α∞ ε±≥αδε±ⁿ σ∙σ 2 ∞δφ. Σεδδα≡εΓ! ╚≥επε - ßαφΩ≤ φαφσ±σφ ≤∙σ≡ß Γ 3 ∞δφ. Σεδδα≡εΓ.

    ╩αΩ µσ ±ε±≥αΓΦ≥ⁿ ∩≡επ≡α∞∞≤ ≤∞σφⁿ°σφΦ  ±≈σ≥α, ≈≥εß√ εφα φσ ∩ετΓεδ δα Γ√≥Γε≡ ≥ⁿ ∩εΣεßφεσ?

    ╬≈σφⁿ ∩≡ε±≥ε - φα Γ≡σ∞  Γ√∩εδφσφΦ  ε∩σ≡α÷ΦΘ φαΣ ±≈σ≥ε∞ εΣφΦ∞ ∩≡ε÷σ±±ε∞ φσεß⌡εΣΦ∞ε τα∩≡σ≥Φ≥ⁿ Σε±≥≤∩ Ω ²≥ε∞≤ ±≈σ≥≤ ±ε ±≥ε≡εφ√ Σ≡≤πΦ⌡ ∩≡ε÷σ±±εΓ. ┬ ²≥ε∞ ±δ≤≈ασ ±÷σφα≡ΦΘ ≡αßε≥√ ∩≡επ≡α∞∞√ Σεδµσφ ß√≥ⁿ ±δσΣ≤■∙Φ∞:

    • ∩≡ε÷σ±± ßδεΩΦ≡≤σ≥ ±≈σ≥ Σδ  Γ√∩εδφσφΦ  ε∩σ≡α÷ΦΘ Σ≡≤πΦ∞Φ ∩≡ε÷σ±±α∞Φ, ∩εδ≤≈α  σπε Γ ∞εφε∩εδⁿφεσ ΓδαΣσφΦσ;
    • ∩≡ε÷σ±± ∩≡εΓεΣΦ≥ ∩≡ε÷σΣ≤≡≤ ≤∞σφⁿ°σφΦ  ±≈σ≥α Φ τα∩Φ±√Γασ≥ φα ≥σΩ≤∙ΦΘ ±≈σ≥ φεΓεσ τφα≈σφΦσ ε±≥α≥Ωα;
    • ∩≡ε÷σ±± ≡ατßδεΩΦ≡≤σ≥ ±≈σ≥, ≡ατ≡σ°α  Σ≡≤πΦ∞ ∩≡ε÷σ±±α∞ Γ√∩εδφσφΦσ ε∩σ≡α÷ΦΘ.

    ╩επΣα ∩σ≡Γ√Θ ∩≡ε÷σ±± ßδεΩΦ≡≤σ≥ ±≈σ≥, εφ ±≥αφεΓΦ≥±  φσΣε±≥≤∩σφ Σ≡≤πΦ∞ ∩≡ε÷σ±±α∞. ┼±δΦ Γ≥ε≡εΘ ∩≡ε÷σ±± ≥αΩµσ ∩ε∩√≥ασ≥±  ταßδεΩΦ≡εΓα≥ⁿ ²≥ε≥ µσ ±≈σ≥, εφ ß≤Σσ≥ ∩σ≡σΓσΣσφ Γ ±ε±≥ε φΦσ εµΦΣαφΦ . ╩επΣα ∩σ≡Γ√Θ ∩≡ε÷σ±± ≤∞σφⁿ°Φ≥ ±≈σ≥ Φ φα φσ∞ ε±≥αφσ≥±  2 ∞δφ. Σεδδα≡εΓ, Γ≥ε≡εΘ ∩≡ε÷σ±± ß≤Σσ≥ ≡ατßδεΩΦ≡εΓαφ. ╬φ ∩≡εΓσ≡Φ≥ ε±≥α≥εΩ, ≤ßσΣΦ≥± , ≈≥ε ±≤∞∞α φσΣε±≥α≥ε≈φα Φ φσ ß≤Σσ≥ ∩≡εΓεΣΦ≥ⁿ ε∩σ≡α÷Φ■.

    ╥αΩΦ∞ εß≡ατε∞, Γ ∞φεπε∩ε≥ε≈φεΘ ±≡σΣσ φσεß⌡εΣΦ∞α ±Φφ⌡≡εφΦτα÷Φ  ∩ε≥εΩεΓ ∩≡Φ εß≡α∙σφΦΦ Ω Ω≡Φ≥Φ≈σ±ΩΦ∞ ≡σ±≤≡±α∞. ┼±δΦ φαΣ ≥αΩΦ∞Φ ≡σ±≤≡±α∞Φ ß≤Σ≤≥ Γ√∩εδφ ≥ⁿ±  ε∩σ≡α÷ΦΦ Γ φσ∩≡αΓΦδⁿφεΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ, ²≥ε ∩≡ΦΓσΣσ≥ Ω ΓετφΦΩφεΓσφΦ■ ≥≡≤Σφε εßφα≡≤µΦΓασ∞√⌡ ε°ΦßεΩ.

    ┬  τ√Ωσ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java ∩≡σΣ≤±∞ε≥≡σφε φσ±ΩεδⁿΩε ±≡σΣ±≥Γ Σδ  ±Φφ⌡≡εφΦτα÷ΦΦ ∩ε≥εΩεΓ, Ωε≥ε≡√σ ∞√ ±σΘ≈α± ≡α±±∞ε≥≡Φ∞.

    ╤Φφ⌡≡εφΦτα÷Φ  ∞σ≥εΣεΓ

    ┬ετ∞εµφε±≥ⁿ ±Φφ⌡≡εφΦτα÷ΦΦ ΩαΩ ß√ Γ±≥≡εσφα Γ ΩαµΣ√Θ εß·σΩ≥, ±ετΣαΓασ∞√Θ ∩≡ΦδεµσφΦσ∞ Java. ─δ  ²≥επε εß·σΩ≥√ ±φαßµα■≥±  τα∙σδΩα∞Φ, Ωε≥ε≡√σ ∞επ≤≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφ√ Σδ  ßδεΩΦ≡εΓΩΦ ∩ε≥εΩεΓ, εß≡α∙α■∙Φ⌡±  Ω ²≥Φ∞ εß·σΩ≥α∞.

    ╫≥εß√ Γε±∩εδⁿτεΓα≥ⁿ±  τα∙σδΩα∞Φ, Γ√ ∞εµσ≥σ εß· ΓΦ≥ⁿ ±εε≥Γσ≥±≥Γ≤■∙ΦΘ ∞σ≥εΣ ΩαΩ synchronized, ±ΣσδαΓ σπε ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞:

    public synchronized void decrement()
    {
      . . .
    }

    ╧≡Φ Γ√τεΓσ ±Φφ⌡≡εφΦτΦ≡εΓαφφεπε ∞σ≥εΣα ±εε≥Γσ≥±≥Γ≤■∙ΦΘ σ∞≤ εß·σΩ≥ (Γ Ωε≥ε≡ε∞ εφ ε∩≡σΣσδσφ) ßδεΩΦ≡≤σ≥±  Σδ  Φ±∩εδⁿτεΓαφΦ  Σ≡≤πΦ∞Φ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞Φ ∞σ≥εΣα∞Φ. ┬ ≡στ≤δⁿ≥α≥σ ∩≡σΣε≥Γ≡α∙ασ≥±  εΣφεΓ≡σ∞σφφα  τα∩Φ±ⁿ ΣΓ≤∞  ∞σ≥εΣα∞Φ τφα≈σφΦΘ Γ εßδα±≥ⁿ ∩α∞ ≥Φ, ∩≡ΦφαΣδσµα∙≤■ Σαφφε∞≤ εß·σΩ≥≤.

    ╚±∩εδⁿτεΓαφΦσ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√⌡ ∞σ≥εΣεΓ - Σε±≥α≥ε≈φε ∩≡ε±≥εΘ ±∩ε±εß ±Φφ⌡≡εφΦτα÷ΦΦ ∩ε≥εΩεΓ, εß≡α∙α■∙Φ⌡±  Ω εß∙Φ∞ Ω≡Φ≥Φ≈σ±ΩΦ∞ ≡σ±≤≡±α∞, φα∩εΣεßΦσ ε∩Φ±αφφεπε Γ√°σ ßαφΩεΓ±Ωεπε ±≈σ≥α.

    ╟α∞σ≥Φ∞, ≈≥ε φσ εß τα≥σδⁿφε ±Φφ⌡≡εφΦτεΓα≥ⁿ Γσ±ⁿ ∞σ≥εΣ - ∞εµφε Γ√∩εδφΦ≥ⁿ ±Φφ⌡≡εφΦτα÷Φ■ ≥εδⁿΩε Ω≡Φ≥Φ≈φεπε ⌠≡απ∞σφ≥α ΩεΣα.

    . . .
    synchronized(Account)
    {
      if(Account.check(3000000))
         Account.decrement(3000000);
    }
    . . .

    ╟Σσ±ⁿ ±Φφ⌡≡εφΦτα÷Φ  Γ√∩εδφ σ≥±  Σδ  εß·σΩ≥α Account.

    ┴δεΩΦ≡εΓΩα ∩ε≥εΩα

    ╤Φφ⌡≡εφΦτΦ≡εΓαφφ√Θ ∩ε≥εΩ, ε∩≡σΣσδσφφ√Θ ΩαΩ ∞σ≥εΣ ≥Φ∩α synchronized, ∞εµσ≥ ∩σ≡σ⌡εΣΦ≥ⁿ Γ ταßδεΩΦ≡εΓαφφεσ ±ε±≥ε φΦσ αΓ≥ε∞α≥Φ≈σ±ΩΦ ∩≡Φ ∩ε∩√≥Ωσ εß≡α∙σφΦ  Ω ≡σ±≤≡±≤, ταφ ≥ε∞≤ Σ≡≤πΦ∞ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞ ∞σ≥εΣε∞, δΦßε ∩≡Φ Γ√∩εδφσφΦΦ φσΩε≥ε≡√⌡ ε∩σ≡α÷ΦΘ ΓΓεΣα ΦδΦ Γ√ΓεΣα. ╬ΣφαΩε Γ ≡ Σσ ±δ≤≈ασΓ ∩εδστφε Φ∞σ≥ⁿ ßεδσσ ≥εφΩΦσ ±≡σΣ±≥Γα ±Φφ⌡≡εφΦτα÷ΦΦ, Σε∩≤±Ωα■∙Φσ  Γφεσ Φ±∩εδⁿτεΓαφΦσ ∩ε τα∩≡ε±≤ ∩≡ΦδεµσφΦ .

    ┴δεΩΦ≡εΓΩα φα ταΣαφφ√Θ ∩σ≡ΦεΣ Γ≡σ∞σφΦ

    ╤ ∩ε∞ε∙ⁿ■ ∞σ≥εΣα sleep ∞εµφε ταßδεΩΦ≡εΓα≥ⁿ ∩ε≥εΩ φα ταΣαφφ√Θ ∩σ≡ΦεΣ Γ≡σ∞σφΦ:

    try
    {
      Thread.sleep(500);
    }
    catch (InterruptedException ee)
    {
      . . .
    }

    ┬ Σαφφε∞ ∩≡Φ∞σ≡σ ≡αßε≥α ∩ε≥εΩα  Thread ∩≡Φε±≥αφαΓδΦΓασ≥±  φα 500 ∞ΦδδΦ±σΩ≤φΣ. ╟α∞σ≥Φ∞, ≈≥ε Γε Γ≡σ∞  εµΦΣαφΦ  ∩≡Φε±≥αφεΓδσφφ√Θ ∩ε≥εΩ φσ ε≥φΦ∞ασ≥ ≡σ±≤≡±√ ∩≡ε÷σ±±ε≡α.

    ╥αΩ ΩαΩ ∞σ≥εΣ sleep ∞εµσ≥ ±ετΣαΓα≥ⁿ Φ±Ωδ■≈σφΦσ InterruptedException, φσεß⌡εΣΦ∞ε ∩≡σΣ≤±∞ε≥≡σ≥ⁿ σπε εß≡αßε≥Ω≤. ─δ  ²≥επε ∞√ Φ±∩εδⁿτεΓαδΦ ε∩σ≡α≥ε≡√ try Φ catch.

    ┬≡σ∞σφφα  ∩≡Φε±≥αφεΓΩα Φ ΓετεßφεΓδσφΦσ ≡αßε≥√

    ╠σ≥εΣ√ suspend Φ resume ∩ετΓεδ ■≥, ±εε≥Γσ≥±≥Γσφφε, Γ≡σ∞σφφε ∩≡Φε±≥αφαΓδΦΓα≥ⁿ Φ ΓετεßφεΓδ ≥ⁿ ≡αßε≥≤ ∩ε≥εΩα.

    ┬ ±δσΣ≤■∙σ∞ ⌠≡απ∞σφ≥σ ΩεΣα ∩ε≥εΩ m_Rectangles ∩≡Φε±≥αφαΓδΦΓασ≥ ±Γε■ ≡αßε≥≤, ΩεπΣα Ω≤≡±ε≡ ∞√°Φ εΩατ√Γασ≥±  φαΣ εΩφε∞ α∩δσ≥α:

    public boolean mouseEnter(Event evt,
       int x, int y)
    {
      if (m_Rectangles != null)
      {
        m_Rectangles.suspend();
      }
      return true;
    }

    ╨αßε≥α ∩ε≥εΩα ΓετεßφεΓδ σ≥± , ΩεπΣα Ω≤≡±ε≡ ∞√°Φ ∩εΩΦΣασ≥ εΩφε α∩δσ≥α:

    public boolean mouseExit(Event evt,
       int x, int y)
    {
      if (m_Rectangles != null)
      {
        m_Rectangles.resume();
      }
      return true;
    }

    ╬µΦΣαφΦσ ΦτΓσ∙σφΦ 

    ┼±δΦ Γα∞ φ≤µφε ε≡παφΦτεΓα≥ⁿ ΓταΦ∞εΣσΘ±≥ΓΦσ ∩ε≥εΩεΓ ≥αΩΦ∞ εß≡ατε∞, ≈≥εß√ εΣΦφ ∩ε≥εΩ ≤∩≡αΓδ δ ≡αßε≥εΘ Σ≡≤πεπε ΦδΦ Σ≡≤πΦ⌡ ∩ε≥εΩεΓ, Γ√ ∞εµσ≥σ Γε±∩εδⁿτεΓα≥ⁿ±  ∞σ≥εΣα∞Φ wait, notify Φ notifyAll, ε∩≡σΣσδσφφ√∞Φ Γ Ωδα±±σ Object.

    ╠σ≥εΣ wait ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ±  δΦßε ± ∩α≡α∞σ≥≡ε∞, δΦßε ßστ ∩α≡α∞σ≥≡α. ▌≥ε≥ ∞σ≥εΣ ∩σ≡σΓεΣΦ≥ ∩ε≥εΩ Γ ±ε±≥ε φΦσ εµΦΣαφΦ , Γ Ωε≥ε≡ε∞ εφ ß≤Σσ≥ φα⌡εΣΦ≥ⁿ±  Σε ≥σ⌡ ∩ε≡, ∩εΩα Σδ  ∩ε≥εΩα φσ ß≤Σσ≥ Γ√τΓαφ ΦτΓσ∙α■∙ΦΘ ∞σ≥εΣ notify, notifyAll, ΦδΦ ∩εΩα φσ Φ±≥σ≈σ≥ ∩σ≡ΦεΣ Γ≡σ∞σφΦ, ≤Ωαταφφ√Θ Γ ∩α≡α∞σ≥≡σ ∞σ≥εΣα wait.

    ╩αΩ ∩εδⁿτεΓα≥ⁿ±  ∞σ≥εΣα∞Φ wait, notify Φ notifyAll?

    ╠σ≥εΣ, Ωε≥ε≡√Θ ß≤Σσ≥ ∩σ≡σΓεΣΦ≥ⁿ±  Γ ±ε±≥ε φΦσ εµΦΣαφΦ , Σεδµσφ ß√≥ⁿ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞, ≥ε σ±≥ⁿ σπε ±δσΣ≤σ≥ ε∩Φ±α≥ⁿ ΩαΩ synchronized:

    public synchronized void run()
    {
      while (true)
      {
        . . .
        try
        {
          this.wait();
        }
        catch (InterruptedException e)
        {
        }
      }
    }

    ┬ ²≥ε∞ ∩≡Φ∞σ≡σ Γφ≤≥≡Φ ∞σ≥εΣα run ε∩≡σΣσδσφ ÷ΦΩδ, Γ√τ√Γα■∙ΦΘ ∞σ≥εΣ wait ßστ ∩α≡α∞σ≥≡εΓ. ╩αµΣ√Θ ≡ατ ∩≡Φ ε≈σ≡σΣφε∞ ∩≡ε⌡εΣσ ÷ΦΩδα ∞σ≥εΣ run ∩σ≡σΓεΣΦ≥±  Γ ±ε±≥ε φΦσ εµΦΣαφΦ  Σε ≥σ⌡ ∩ε≡, ∩εΩα Σ≡≤πεΘ ∩ε≥εΩ φσ Γ√∩εδφΦ≥ ΦτΓσ∙σφΦσ ± ∩ε∞ε∙ⁿ■ ∞σ≥εΣα notify.

    ═Φµσ ∞√ ∩≡ΦΓσδΦ ∩≡Φ∞σ≡ ∩ε≥εΩα, Γ√τ√Γα■∙ΦσΘ ∞σ≥εΣ notify:

    public void run()
    {
      while (true)
      {
        try
        {
          Thread.sleep(30);
        }
        catch (InterruptedException e)
        {
        }
    
        synchronized(STask)
        {
          STask.notify();
        }
      }
    }

    ▌≥ε≥ ∩ε≥εΩ ≡σαδΦτεΓαφ Γ ≡α∞Ωα⌡ ε≥Σσδⁿφεπε Ωδα±±α, Ωεφ±≥≡≤Ω≥ε≡≤ Ωε≥ε≡επε ∩σ≡σΣασ≥±  ±±√δΩα φα ∩ε≥εΩ, Γ√τ√Γα■∙≤■ ∞σ≥εΣ wait. ▌≥α ±±√δΩα ⌡≡αφΦ≥±  Γ ∩εδσ STask.

    ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε ⌡ε≥  ±α∞ ∞σ≥εΣ run φσ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√Θ, Γ√τεΓ ∞σ≥εΣα notify Γ√∩εδφ σ≥±  Γ ±Φφ⌡≡εφΦτΦ≡εΓαφφε∞ ≡σµΦ∞σ. ┬ Ωα≈σ±≥Γσ εß·σΩ≥α ±Φφ⌡≡εφΦτα÷ΦΦ Γ√±≥≤∩ασ≥ ∩ε≥εΩ, Σδ  Ωε≥ε≡επε Γ√τ√Γασ≥±  ∞σ≥εΣ notify.

    ╬µΦΣαφΦσ ταΓσ≡°σφΦ  ∩ε≥εΩα

    ╤ ∩ε∞ε∙ⁿ■ ∞σ≥εΣα join Γ√ ∞εµσ≥σ Γ√∩εδφ ≥ⁿ εµΦΣαφΦσ ταΓσ≡°σφΦ  ≡αßε≥√ ∩ε≥εΩα, Σδ  Ωε≥ε≡εΘ ²≥ε≥ ∞σ≥εΣ Γ√τΓαφ.

    ╤≤∙σ±≥Γ≤σ≥ ≥≡Φ ε∩≡σΣσδσφΦ  ∞σ≥εΣα join:

    public final void join();
    public final void join(long millis);
    public final void join(long millis,
       int nanos);

    ╧σ≡Γ√Θ Φτ φΦ⌡ Γ√∩εδφ σ≥ εµΦΣαφΦσ ßστ επ≡αφΦ≈σφΦ  Γε Γ≡σ∞σφΦ, Σδ  Γ≥ε≡επε εµΦΣαφΦσ ß≤Σσ≥ ∩≡σ≡Γαφε ∩≡Φφ≤ΣΦ≥σδⁿφε ≈σ≡στ millis ∞ΦδδΦ±σΩ≤φΣ, α Σδ  ≥≡σ≥ⁿσπε - ≈σ≡στ millis ∞ΦδδΦ±σΩ≤φΣ Φ nanos φαφε±σΩ≤φΣ. ╙≈≥Φ≥σ, ≈≥ε ≡σαδⁿφε Γ√ φσ ±∞εµσ≥σ ≤Ωατ√Γα≥ⁿ Γ≡σ∞  ± ≥ε≈φε±≥ⁿ■ Σε φαφε±σΩ≤φΣ, ≥αΩ ΩαΩ ΣΦ±Ω≡σ≥φε±≥ⁿ ±Φ±≥σ∞φεπε ≥αΘ∞σ≡α Ωε∞∩ⁿ■≥σ≡α φα∞φεπε ßεδⁿ°σ.



Java | ╧≡εΣ≤Ω≥√ Φ ≡σ°σφΦ  | ╥σ⌡φεδεπΦΦ | ╤σ≡ΓΦ± Φ εß≤≈σφΦσ
╬ Ωε∞∩αφΦΦ | ╧α≡≥φσ≡√ | ═εΓε±≥Φ | ╧εΦ±Ω
Sun Microsystems Inc. Corporate Information Our partners News and Events Search on site Java Computing Products and Solutions Technologies and Researches Education and Service Content